;*******************************************************************************
;*           		So Paulo, xx de xxx de 2014                               *
;*Programador:                                    *
;*                                                                             *
;*Objetivo.:                                                              *
;*                                                                             *
;*VER: 1.0		REV 0                                                          *
;*******************************************************************************
;*   Arquivos de definies                                                    *
;*                                                                             *
;*                                                                             *
;*PIC Utilizado: PIC16F628A                                                    *
;                                                                              *
#INCLUDE <P16F628A.INC>   ; ARQUIVO PADRO MICROCHIP PARA 16F628a              *
;*******************************************************************************
; Configuration bits                                                           *
; ------------------                                                           *
;                                                                              *
__CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BOREN_ON & _LVP_OFF & _CP_OFF
;                                                                              *
;                                                                              *
;*******************************************************************************
;*                             Paginao de memria                            *
;*                        *******************************                      *

;Definio de comandos de usurio para alterao de pgina de memria
#DEFINE		BANK0	BCF STATUS,RP0
#DEFINE		BANK1	BSF STATUS,RP0

;*******************************************************************************
;*                             DEFINIO DE APELIDOS                           *
;*                        *******************************                      *

;*******************************************************************************
;*                             DEFINIO DE VARIAVEIS                          *
;*                        *******************************                      *
CBLOCK  0X20    ;Endereo inicial das variaveis




ENDC            ;Encerra bloco de variaveis
;*                        *******************************                      *

;*******************************************************************************
;*                             Vetor de Reset                                  *
;*                      **************************                             *
	ORG	0x00                  ;Endereo inicial de processamento
	GOTO        MAIN

;*******************************************************************************
;*                             Inicio da interrupo                           *
;*******************************************************************************
	ORG 0x04                  ;Endereo inicial da interrupo

	;ROTINA DE INTERRUPO

	RETFIE                    ;Retorna da interrupo



;*******************************************************************************
;*                            Configuraes do Programa                        *
;*                       *****************************                         *
MAIN

		BANK0
		MOVLW	B'00000111' ;Desativa comparadores do PORT A
		MOVWF	CMCON
        MOVLW   B'00110000' ; Internal Clock source with 1:8 prescaler, Timer1 is stopped and T1 osc is disabled
        MOVWF   T1CON       ;Configurao do Timer1
        CLRF    PIR1 ; Clear peripheral interrupts Flags
        CLRF	PORTA   ;Limpa todo o PORT A
        CLRF	PORTB   ;Limpa todo o PORT B

		BANK1
		MOVLW	B'00001000' ;Habilita Oscilador P 4MHz
		MOVWF	PCON
		MOVLW	B'00000000' ;Desabilita todas as interrupes
		MOVWF	INTCON
		MOVLW	B'10000000' ;Desabilita os PULL UP do PORT B
		MOVWF	OPTION_REG
		MOVLW	B'00100000' ;Configuraes do PORT A (OBRIGATRIO 5=1 )
		MOVWF	TRISA       ;0 = sada, 1 = entrada
		MOVLW	B'00010000' ;Configuraes do PORT B (OBRIGATRIO 4=1 )
		MOVWF	TRISB       ;0 = sada, 1 = entrada
        CLRF    PIE1        ; Disable peripheral interrupts.

BANK0

;*******************************************************************************
;*                           Rotina Principal                                  *
;*                    ****************************                             *
INICIO





;*******************************************************************************
;*                           FIM DO PROGRAMA                                   *
;*******************************************************************************
END